package org.monster.context.core.file;

import java.util.TimerTask;

/**
 * 文件安排时间者
 *
 * @author Monster
 */
public class FileSchedulerTimer extends TimerTask {

    /**
     * 任务
     */
    private Runnable task;
    /**
     * 时间阶梯
     */
    private TimeStep step;
    /**
     * 文件安排
     */
    private FileScheduler scheduler;

    /**
     * 构造方法
     *
     * @param task      任务
     * @param step      时间阶梯
     * @param scheduler 文件安排
     */
    public FileSchedulerTimer(Runnable task, TimeStep step,
                              FileScheduler scheduler) {
        this.task = task;
        this.step = step;
        this.scheduler = scheduler;
    }

    /**
     * 运行
     */
    @Override
    public void run() {
        task.run();
        scheduler.schedule(task, step);
    }

}
